1. Field of the Invention
The present invention generally relates to graphics processing and more specifically to a method for handling state transitions in a network of virtual processing nodes.
2. Description of the Related Art
Consider a network of pipeline stages where each pipeline stage is processing work input that, when completed, is forwarded from the output of one pipeline stage to the input of another pipeline stage. The network of pipeline stages could be ordered in a linear fashion effectively making it into a traditional processing pipeline, or the network could be more complicated an include splits, and joins and loops of outputs/inputs.
Each pipeline stage relies on state data that indicates how work input received by the pipeline stage should be processed. In particular, state data includes a set of member variables that control how data is processed. For example, a rasterizer pipeline stage might require a current polygon color or a flag for culling back-facing polygons. Typically, these values change over time, and such changes must be propagated to the pipeline stages.
In a simple approach, state changes are propagated to the pipeline stages by draining the pipeline stages, reconfiguring the pipeline stages with new state data, and transmitting work input back into the pipeline stages. This approach, however, is inefficient since considerable delays are introduced as a result of draining the pipeline stages. In another approach, work input sent to the pipeline stages is accompanied by state data that corresponds to the work input. Though this approach does not require that the pipeline be drained, state data is unnecessarily and redundantly transmitted throughout the network, which is inefficient.
Accordingly, what is needed in the art is a system and method for propagating state data to pipeline stages.